struct _DEBUG_DEVICE_DESCRIPTOR// Size=0xa8
{
    unsigned long Bus;// Offset=0x0 Size=0x4
    unsigned long Slot;// Offset=0x4 Size=0x4
    unsigned short Segment;// Offset=0x8 Size=0x2
    unsigned short VendorID;// Offset=0xa Size=0x2
    unsigned short DeviceID;// Offset=0xc Size=0x2
    unsigned char BaseClass;// Offset=0xe Size=0x1
    unsigned char SubClass;// Offset=0xf Size=0x1
    unsigned char ProgIf;// Offset=0x10 Size=0x1
    unsigned char Flags;// Offset=0x11 Size=0x1
    unsigned char DbgHalScratchAllocated:1;// Offset=0x11 Size=0x1 BitOffset=0x0 BitSize=0x1
    unsigned char DbgBarsMapped:1;// Offset=0x11 Size=0x1 BitOffset=0x1 BitSize=0x1
    unsigned char DbgScratchAllocated:1;// Offset=0x11 Size=0x1 BitOffset=0x2 BitSize=0x1
    unsigned char Initialized;// Offset=0x12 Size=0x1
    unsigned char Configured;// Offset=0x13 Size=0x1
    struct DEBUG_DEVICE_ADDRESS BaseAddress[6];// Offset=0x14 Size=0x48
    struct DEBUG_MEMORY_REQUIREMENTS Memory;// Offset=0x60 Size=0x20
    unsigned short PortType;// Offset=0x80 Size=0x2
    unsigned short PortSubtype;// Offset=0x82 Size=0x2
    void * OemData;// Offset=0x84 Size=0x4
    unsigned long OemDataLength;// Offset=0x88 Size=0x4
    enum KD_NAMESPACE_ENUM NameSpace;// Offset=0x8c Size=0x4
    wchar_t * NameSpacePath;// Offset=0x90 Size=0x4
    unsigned long NameSpacePathLength;// Offset=0x94 Size=0x4
    unsigned long TransportType;// Offset=0x98 Size=0x4
    struct _DEBUG_TRANSPORT_DATA TransportData;// Offset=0x9c Size=0x8
};